#ifndef __RENDERINGENGINE_H__
#define __RENDERINGENGINE_H__

#include "Camera.h"
#include "IDrawDevice.h"

namespace GCRE {
	namespace Rendering {
		class CRenderingEngine {
			public:
				CRenderingEngine();
				~CRenderingEngine();

				virtual bool Initialize( const CWindowInfo& winInfo );
				virtual void Finalize();

				void ClearScreen( BasicType::SFFloat r = 0.0f, BasicType::SFFloat g = 0.0f, BasicType::SFFloat b = 1.0f );
				void DoRendering();
				void SwapBuffers();

			protected:

			private:
				CCamera			m_Camera;
				IDrawDevice*	m_pDrawDevice;
		};
	}
}

#endif	//	__RENDERINGENGINE_H__